QRIS Notify - Callback
Setelah customer sukses melakukan pembayaran, speedcash akan mengirimkan callback ke partner untuk memberitahukan status pembayaran. partner harus mengimplementasikan service untuk menerima callback dari speedcash.
Kami akan mengirimkan callback ke partner 2x dengan interval 1 menit sampai partner meresponse dengan response yang diharapkan. Namun ketika percobaan callback pertama sudah sesuai maka kami tidak akan mengirimkan callback lagi.
validasi Signature
Partner wajib melakukan validasi pada request callback yang kami kirimkan
Public Key
Dalam validasi signature callback partner memerlukan public key milik speedcash pada prosesnya. Untuk production akan dikirimkan via email dengan format tertentu.
Rumus Signature
Signature pada validasi callback mengambil data pada header request yang dikirimkan speedcash.
stringToSign = HTTPMethod +":"+ EndpointUrl +":"+ Lowercase(HexEncode(SHA-256(minify(RequestBody)))) + ":" + TimeStamp
signature = base64_decode(SHA256withRSA(private_key, stringToSign))
callback hanya kami kirimkan ketika transaksi sukses
Callback Info
Service Code | 52 |
HTTP Method | POST |
Path | {{yoururl}}/v1.0/qr/qr-mpm-notify |
Header | Value | Deskripsi |
---|---|---|
Content-Type | application/json | |
X-Timestamp | 2023-08-24T17:07:05+07:00 | ISO8601 String |
X-Partner-ID | {partnerId} | |
X-Signature | {signature} | |
X-External-ID | {externalId} |
Callback Payload
Parameter | Tipe Data | Deskripsi |
---|---|---|
originalReferenceNo | String | ID transaksi pada sistem penyedia layanan. |
originalPartnerReferenceNo | String | ID transaksi pada sistem Merchant. |
latestTransactionStatus | String | 00 - Success |
amount | Object | |
value | String | Jumlah total nominal transaksi. |
currency | String | Mata uang. |
additionalInfo | Object | Informasi tambahan. |
nmid | String | Kode unik nmid dari QRIS merchant. |
terminalId | String | Kode terminal QRIS |
qrisId | String | Kode unik QRIS |
issuerReff | String | kode unik dari issuer |
buyerReff | String | Nama customer dari User issuer |
brandName | String | nama brand dari issuer |
transactionDate | ISO8601 | waktu transaksi |
rrn | String | Retrieval Reference Number (Nomor Referensi) |
feeAmount | String | Biaya admin speedcash |
mdr | String | Biaya yang di bebankan oleh Acquirer penyedia |
feeAdmin | String | Biaya admin speedcash |
typeQr | String | jenis dari QR merchant |
description | String | Deskripsi pada QRIS |
merchantId | String | Kode unik yang dimiliki setiap merchant |
issuerId | String | id milik issuer |
acquirerId | String | id milik acquirer |
{
"originalReferenceNo": "4124213214",
"originalPartnerReferenceNo": "21421412321",
"latestTransactionStatus": "00",
"amount": {
"value": "15000.00",
"currency": "IDR"
},
"additionalInfo": {
"nmid":"ID321412xxxx",
"terminalId": "A01",
"qrisId": "10099768",
"issuerReff": "21412xxxx",
"buyyerReff":"Rosidi Dragons",
"brandName":"GOPAY",
"transactionDate":"2024-10-31T11:00:32+07:00",
"rrn": "00000530xxxx",
"feeAmount": "2000.00",
"mdr": "107.8000000000",
"feeAdmin": "0",
"typeQr": "dynamic",
"description": "Pembayaran makan siang",
"merchantId": "121xxxx",
"issuerId":"9360xxxx",
"acquirerId":"9360xxxx"
}
}
Expected Results
Response yang diharapkan dari partner adalah sebagai berikut:
{
"responseCode": "2005200",
"responseMessage": "success"
}